Test Reports এবং Code Coverage রিপোর্ট তৈরি করা

Java Technologies - অ্যাপাচি অ্যান্ট (Apache ANT) Unit Testing এবং Code Coverage |
244
244

Apache ANT ব্যবহার করে test reports এবং code coverage রিপোর্ট তৈরি করা একটি সাধারণ প্রক্রিয়া যা আপনার বিল্ড প্রক্রিয়াকে আরও কার্যকরী এবং স্বচ্ছ করে তোলে। এখানে আমরা JUnit টেস্ট রিপোর্ট এবং code coverage রিপোর্ট তৈরি করার জন্য যে টুলগুলো এবং কৌশলগুলো ব্যবহার করা যায়, তা আলোচনা করব।


১. JUnit Test Reports তৈরি করা

JUnit টেস্ট রিপোর্ট তৈরি করা ANT-এর মাধ্যমে খুবই সহজ এবং কার্যকরী। আপনি যদি JUnit টেস্ট ব্যবহার করেন, তবে ANT junit টাস্কটি ব্যবহার করে টেস্ট রিপোর্ট তৈরি করতে সক্ষম হবে।

JUnit Test Reports তৈরি করার পদক্ষেপ:

  1. JUnit টাস্ক কনফিগার করা: ANT এ junit টাস্ক ব্যবহার করে আপনি টেস্ট চালাতে পারেন এবং রিপোর্ট তৈরি করতে পারেন।
<project name="JUnitTestExample" default="run-tests">
    <!-- ক্লাসপাথ নির্দিষ্ট করা -->
    <path id="test.classpath">
        <fileset dir="lib">
            <include name="*.jar"/>
        </fileset>
    </path>

    <!-- টার্গেট নির্ধারণ -->
    <target name="run-tests">
        <junit printsummary="true" haltonerror="yes" haltonfailure="yes">
            <classpath refid="test.classpath"/>
            <test name="com.example.tests.MyTestClass"/>
            <formatter type="xml" usefile="true"/>
        </junit>
    </target>
</project>

এখানে:

  • junit টাস্কটি টেস্ট ক্লাস চালাবে।
  • printsummary="true" টেস্টের সংক্ষিপ্ত সারাংশ দেখাবে।
  • haltonerror="yes" এবং haltonfailure="yes" এর মাধ্যমে যদি কোনো টেস্ট ব্যর্থ হয়, তবে বিল্ড বন্ধ হয়ে যাবে।
  • formatter ট্যাগটি রিপোর্ট আউটপুট ফরম্যাট নির্ধারণ করে। এখানে XML ফরম্যাটে রিপোর্ট তৈরি করা হচ্ছে।
  1. Test Reports ফাইল: টেস্ট রান করার পরে ANT একটি XML ফাইল তৈরি করবে, যা আপনি JUnit টেস্ট রিপোর্টের ফলাফল দেখতে ব্যবহার করতে পারেন।

XML রিপোর্টের আউটপুট উদাহরণ:

<testsuite errors="0" failures="1" name="MyTestClass" tests="3" time="0.1">
    <testcase classname="com.example.tests.MyTestClass" name="testMethod1" time="0.02"/>
    <testcase classname="com.example.tests.MyTestClass" name="testMethod2" time="0.03">
        <failure message="Expected true but was false"/>
    </testcase>
    <testcase classname="com.example.tests.MyTestClass" name="testMethod3" time="0.01"/>
</testsuite>

এখানে:

  • errors এবং failures হলো টেস্টের ফলাফল, যেখানে 1 failure এবং 0 error রয়েছে।
  • প্রতিটি testcase টেস্টের নাম, রান টাইম এবং সম্ভাব্য ত্রুটির তথ্য প্রদর্শন করে।

২. Code Coverage রিপোর্ট তৈরি করা

Code Coverage হল একটি মেট্রিক যা কোডের কতটা অংশ টেস্ট করা হয়েছে তা নির্দেশ করে। Apache ANT নিজে থেকে কোড কভারেজ তৈরি করতে পারে না, তবে Cobertura, JaCoCo এবং Emma এর মতো টুলগুলির সাহায্যে এটি করা সম্ভব।

JaCoCo ব্যবহার করে Code Coverage রিপোর্ট তৈরি করা

JaCoCo হল একটি জনপ্রিয় কোড কভারেজ টুল যা ANT এর মাধ্যমে ইন্টিগ্রেট করা যায়। নিচে JaCoCo ব্যবহার করে কভারেজ রিপোর্ট তৈরি করার উদাহরণ দেওয়া হল:

  1. JaCoCo ইনস্টল করা: JaCoCo JAR ফাইল ANT ক্লাসপাথে যোগ করতে হবে। এটি lib/ ফোল্ডারে রাখা উচিত।
  2. JaCoCo টাস্ক ব্যবহার করা:
<project name="CodeCoverageExample" default="run-tests-with-coverage">
    <!-- ক্লাসপাথ সেটআপ -->
    <path id="test.classpath">
        <fileset dir="lib">
            <include name="jacocoant-0.8.7.jar"/>
            <include name="*.jar"/>
        </fileset>
    </path>

    <!-- টাস্কের জন্য JaCoCo কভারেজ রিপোর্ট -->
    <target name="run-tests-with-coverage">
        <!-- JaCoCo কভারেজ ডেটা সংগ্রহ করা -->
        <taskdef name="jacoco" classname="org.jacoco.ant.Task">
            <classpath refid="test.classpath"/>
        </taskdef>

        <!-- JaCoCo টাস্ক চালানো -->
        <jacoco>
            <exec>
                <classpath refid="test.classpath"/>
                <junit printsummary="true">
                    <test name="com.example.tests.MyTestClass"/>
                </junit>
            </exec>

            <!-- কভারেজ রিপোর্ট তৈরি করা -->
            <report>
                <html destdir="coverage-reports"/>
                <xml destfile="coverage-reports/coverage.xml"/>
            </report>
        </jacoco>
    </target>
</project>

এখানে:

  • taskdef ব্যবহার করে JaCoCo টাস্ক সংজ্ঞায়িত করা হয়েছে।
  • <exec> টাস্কটি টেস্ট চালাবে এবং কভারেজ ডেটা সংগ্রহ করবে।
  • <report> টাস্কটি কভারেজ রিপোর্ট তৈরি করবে। html ফরম্যাটে রিপোর্ট একটি নির্দিষ্ট ডিরেক্টরিতে এবং xml ফরম্যাটে অন্য একটি ফাইল তৈরি হবে।

JaCoCo Coverage রিপোর্টের আউটপুট (HTML রিপোর্ট):

JaCoCo HTML রিপোর্ট দেখতে নিচের মতো আউটপুট পেতে পারেন:

  • File Structure:

    coverage-reports/
        index.html    --> কভারেজ রিপোর্টের মূল পৃষ্ঠা
        ...
    
  • HTML রিপোর্টের উদাহরণ:
    • Covered lines: কভার করা লাইনগুলি সবুজ রঙে চিহ্নিত হবে।
    • Missed lines: অনুপস্থিত লাইনগুলি লাল রঙে চিহ্নিত হবে।

JaCoCo XML রিপোর্টের আউটপুট উদাহরণ:

<coverage branchRate="0.5" lineRate="0.8">
    <package name="com.example.tests">
        <class name="MyTestClass" lineRate="0.9" branchRate="0.75">
            <method name="testMethod1" desc="()V" line="10" />
            <method name="testMethod2" desc="()V" line="20" />
            <!-- আরও মেথড ও লাইন তথ্য -->
        </class>
    </package>
</coverage>

এখানে:

  • branchRate এবং lineRate কোডের সঠিক কভারেজ শতাংশ প্রদর্শন করে।
  • method এবং class ট্যাগের মাধ্যমে, আপনি প্রতিটি মেথড এবং ক্লাসের কভারেজ দেখতে পারবেন।

৩. Emma ব্যবহার করে Code Coverage রিপোর্ট তৈরি করা

Emma হল আরেকটি টুল যা ANT এর মাধ্যমে কোড কভারেজ রিপোর্ট তৈরি করতে ব্যবহৃত হয়। এটি JaCoCo-এর মতো একইভাবে কাজ করে তবে কনফিগারেশন এবং রিপোর্ট ফরম্যাট কিছুটা আলাদা।

Emma কভারেজ রিপোর্ট উদাহরণ:

<project name="EmmaCoverageExample" default="run-tests-with-coverage">
    <taskdef name="emma" classname="com.vladium.emma.ant.Task" classpath="path_to_emma_libs"/>
    
    <target name="run-tests-with-coverage">
        <emma enabled="true" action="coverage">
            <junit printsummary="true">
                <test name="com.example.tests.MyTestClass"/>
            </junit>
        </emma>

        <emma enabled="true" action="report" destfile="coverage-report">
            <html/>
        </emma>
    </target>
</project>

এখানে:

  • emma টাস্কটি Emma টুলের সাহায্যে কোড কভারেজ রিপোর্ট তৈরি করবে।
  • action="coverage" কোড কভারেজ ডেটা সংগ্রহ করবে।
  • action="report" রিপোর্ট তৈরি করবে, যেখানে html ফরম্যাটে রিপোর্ট তৈরি হবে।

সারমর্ম

Apache ANT ব্যবহার করে আপনি JUnit টেস্ট রিপোর্ট এবং code coverage রিপোর্ট তৈরি করতে পারেন। JUnit টাস্ক ব্যবহার করে সহজেই টেস্ট রিপোর্ট তৈরি করা যায়, যেখানে JaCoCo বা Emma টুলের মাধ্যমে কোড কভারেজ রিপোর্ট তৈরি করা সম্ভব। JaCoCo একটি জনপ্রিয় টুল যা ANT-এর সাথে সহজে ইন্টিগ্রেট করা যায় এবং এটি HTML ও XML ফরম্যাটে কভারেজ রিপোর্ট তৈরি করতে সাহায্য করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion